---@class ISkillEffect
ISkillEffect = ClientFight.CreateClass("ISkillEffect")

---准备技能 * 技能前摇阶段
---@param skill FightUsingSkill
---@param position Vector2
function ISkillEffect:prepareSkill(skill,position)
    return false
end
---释放技能
---@param skill FightUsingSkill
function ISkillEffect:releaseSkill(skill)
    return false
end
---选择攻击目标
---@param fight Fight
---@param fighter Fighter
---@param skill FightSkill
---@param center Vector2
---@param excludes table<number,boolean>
---@return Fighter
function ISkillEffect:selectAttackTarget( fight, fighter, skill, center,excludes)
    return nil
end
---触发技能
---@param skill FightUsingSkill
---@param target Fighter
---@param triggerSkill FightUsingSkill
---@return SkillEffectResult
function ISkillEffect:triggerSkill(skill,target,triggerSkill)
    return SkillEffectResult.New()
end
---技能作用效果
---@param skill FightUsingSkill
function ISkillEffect:effectSkill(skill,triggerFrame,skillUniqueId)
    return false
end
---攻击
---@param skill FightUsingSkill
---@param target Fighter
function ISkillEffect:attack(skill,target)
    return false
end
---伤害前
---@param skill FightUsingSkill
---@param target Fighter
---@param result FightResult
function ISkillEffect:damageBefore( skill, target, result)
    return false
end
---造成伤害后 是否闪避需要自己判断
---@param skill FightUsingSkill
---@param target Fighter
---@param result FightResult
function ISkillEffect:damageAfter( skill, target, result)

end
---造成伤害后 是否闪避需要自己判断
---@param skill FightUsingSkill
---@param target Fighter
---@param result FightResult
function ISkillEffect:killAfter( skill, target, result)

end
---技能结束
---@param skill FightUsingSkill
function ISkillEffect:finishSkill(skill,breakin)
    return false
end
---技能结束
---@param skill FightUsingSkill
function ISkillEffect:afterFinishSkill(skill,breakin)

end
---召唤物入场前
---@param skill FightUsingSkill
---@param summon Fighter
function ISkillEffect:summonEnterSceneBefore(skill,summon)

end
---召唤如入场后
---@param skill FightUsingSkill
function ISkillEffect:summonEnterSceneAfter(skill,summon)

end
---作用人数上限
---@param skill FightUsingSkill
function ISkillEffect:getTargetMax(skill)
    return skill.skill.skillBean.f_TargetMax
end
---技能触发技能
---@param skill FightUsingSkill
function ISkillEffect:triggerSkills(skill)

end
---@param skill FightUsingSkill
---@param target Fighter
function ISkillEffect:calculateSkillHeal(skill,target)
    return nil
end

---替换掉他的 触发子技能实现
function ISkillEffect:overrideTriggerSkill( parentSkill, target, triggerSkillId)
return false;
end